package llvmir.value;

import java.util.ArrayList;
import java.util.List;

import llvmir.type.Type;

public class User extends Value {
    // 现在的理解是，对于Instruction等User的继承类，都保存了这个 `User` 使用的 `Value` 的列表
    public List<Value> operands; // 存储操作数

    public User(String name, Type type) {
        super(name, type);
        operands = new ArrayList<>();
    }

    public void addOperand(Value operand) {
        operands.add(operand);
    }

    public List<Value> getOperands() {
        return this.operands;
    }

    public Value getFirstOperand() {
        return operands.get(0);
    }

    public void setOperands(List<Value> operands) {
        this.operands = operands;
    }
}
